package lp2.projetoagenda;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Calendar;
import java.util.Scanner;

public class GerenciadorEventos {
	Eventos eventos;
	Evento evento;
	Calendar data;

	public GerenciadorEventos(){
		 try {  
			         File file = new File("Dados2.txt");  
			       
			         
			         boolean success = file.createNewFile();  
			        if (success) {  
			        	eventos = new Eventos();
			        	escreveArquivoObjeto(eventos);
			         } else {  
			             eventos = leArquivoObjeto();
			        }  
			     } catch (IOException e) {  
			     } 
			     
	}
	
	public  void escreveArquivoObjeto(Eventos p) throws IOException{
		ObjectOutputStream out = null;
		String nome = "Dados2.txt";
		try{
			out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(nome)));
			out.writeObject(p);			
		}catch(IOException e){
			System.err.println(e.getMessage());
		}finally{
			out.close();
		}
	}
	
	public  Eventos leArquivoObjeto() throws IOException{
		ObjectInputStream in = null;
		Eventos p = null;
		String nome = "Dados2.txt";
		try{
			in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(nome)));
			p = (Eventos) in.readObject();
		}catch(ClassNotFoundException e){
			System.err.println(e.getMessage());
		}catch(IOException e){
			System.err.println(e.getMessage());
		}finally{
			in.close();
		}
		return p;
	}
	public Eventos getEventos(){
		return eventos;
	}
	public void setEventos(Eventos even) throws IOException{
		eventos = even;
		escreveArquivoObjeto(even);
	}
	public void cadastraNovoEvento(){
		Scanner teclado = new Scanner(System.in);
		evento = new Evento(null, null, null, 0, null);
		System.out.println("Nome do evento: ");
		evento.setNome(teclado.next());
		System.out.println("Tipo de evento: ");
		evento.setTipo(teclado.next());
		System.out.println("Descricao do evento: ");
		evento.setDescricao(teclado.next());
		System.out.println("Duracao do evento: ");
		evento.setDuracao(teclado.nextInt());
		System.out.println("Entre com os dados na sequencia: ano, mes, dia, hora e minuto. ");
		data.set(teclado.nextInt(), teclado.nextInt(), teclado.nextInt(), teclado.nextInt(), teclado.nextInt());
		evento.setData(data);
		try {
			escreveArquivoObjeto(eventos);
		} catch (IOException e) {
		}
	}
}